package cn.itcast.nems.common.enumeration;

import cn.itcast.ic.common.exception.v2.bean.BizErrorBody;
import cn.itcast.ic.common.exception.v2.bean.BizStatusEnum;
import lombok.AllArgsConstructor;
import lombok.Getter;

@Getter
@AllArgsConstructor
public enum NemsErrorBodyEnum implements BizErrorBody {
    PARAM_EMPTY(BizStatusEnum.BAD_REQUEST, "%s不能为空！"),
    ENUM_ERROR(BizStatusEnum.BAD_REQUEST, "枚举名称不存在！"),

    DATABASE_INSERT_ERROR(BizStatusEnum.INTERNAL_SERVER_ERROR, "%s 数据库新增失败！"),

    DATABASE_UPDATE_ERROR(BizStatusEnum.INTERNAL_SERVER_ERROR, "%s 数据库更新失败！"),
    PARAM_LENGTH_ERROR(BizStatusEnum.BAD_REQUEST, "%s长度不可大于[%d]！"),
    PARAM_ERROR(BizStatusEnum.BAD_REQUEST, "参数错误：%s！"),
    DATA_EXIST(BizStatusEnum.INTERNAL_SERVER_ERROR, "%s数据库不存在！"),
    STRATEGY_EXIST(BizStatusEnum.INTERNAL_SERVER_ERROR, "%s策略不存在！"),
    DICTIONARY_EXIST(BizStatusEnum.INTERNAL_SERVER_ERROR, "%s字典code不存在！"),
    DATA_DELETE_UNAUTHORIZED(BizStatusEnum.BAD_REQUEST, "只能删除自己创建的数据"),


    LOGOUT_ERROR(BizStatusEnum.BAD_REQUEST ,"退出登录失败！"),
    
    UNAUTHORIZED(BizStatusEnum.UNAUTHORIZED, "尚未登录！"),
    OPERATION_REPEAT(BizStatusEnum.UNAUTHORIZED, "%s重复操作！"),

    // XXX “提交凭单失败！”，因发起流程不一定是在提交凭单的时，所以此提示放在此处不合适。但考虑前端现在调整个性化的提示相对困难，所以此处暂时做兼容。后期前端调整后再去掉。
    BPM_START_PROCESS_FAILD(BizStatusEnum.BAD_REQUEST, "提交凭单失败！发起流程审批时出现问题，请联系系统管理员检查审批流是否正确配置~"),

    FORBIDDEN(BizStatusEnum.FORBIDDEN, "无权限"),

    REDIS_ERROR(BizStatusEnum.INTERNAL_SERVER_ERROR, "缓存异常！")
    ;

    public BizStatusEnum status;
    public String message;
}
